home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus Extra 1996 #2 / Amiga Plus CD - 1996 - No. 2 Extra.iso / clarissa1_1-demo / macros / colorchaos.clssa < prev    next >
Text File  |  1995-01-26  |  3KB  |  105 lines

  1. /***********************************************************************
  2.   GADGET: "'Color Chaos'" "6" AUTO TYP: "?"
  3.  
  4.   $DAT >>ColorChaos.clssa<<   02.10.1992 - (C) ProDAD Holger Burkarth
  5.                               20.01.1995 - (C) ProDAD Michael Christoph
  6.  
  7.   Benötigt man besondere Farbeffekte, die den Betrachter nerven, so
  8.   greift man zu grassen Farbänderungen.
  9.   Dieser Macro erstellt solche Farbeffekte, die nichts mit Hormonie
  10.   zu tun haben. Jedoch kann die Intensität bzw. die Frequenz beliebig
  11.   verändert werden.
  12. ************************************************************************/
  13.  
  14. Options Results
  15. Address clariSSA
  16.  
  17.   FailAt 10
  18.   AltFail=RESULT
  19.  
  20.   GetArea
  21.   PARSE VAR RESULT . "FROM" von "TO" bis .
  22.   von=Strip(von)
  23.  
  24.   Anzahl=bis-von
  25.   IF Anzahl>3 THEN DO
  26.  
  27.     DO FOREVER
  28.       GetAnimInfo
  29.       PARSE VAR RESULT . "FORMAT" x y t "VIEWMODE" ViewMode .
  30.       AnzFarben=2**t - 1
  31.  
  32.       MSRequester "TITLE '*** Color - Chaos ***'",
  33.                         "''",
  34.                         "'Wählen Sie eine Effektart aus.'",
  35.                   "PTEXT 'Nur Chaosfarben verwenden.'",
  36.                         "'Chaosfarben auf die Naturfarben legen.'",
  37.                         "'Chaosfarben einmischen'"
  38.       IF RC~=0 THEN LEAVE
  39.       Art=RESULT
  40.  
  41.       COLRequest "FROM 0 TO 1 TITLE '*** Color - Chaos ***''''Farbbereich für die''Chaoserstellung festlegen.'"
  42.       IF RC~=0 THEN LEAVE
  43.       ChaosListe=RESULT
  44.  
  45.       INTRequest "'*** Color - Chaos ***''''Geben Sie die Anzahl''der Farbsprünge ein.''<< Zwischen 1 bis "Anzahl" >>'" Anzahl
  46.       IF RC~=0 THEN LEAVE
  47.       ColorJmp=RESULT
  48.       IF ColorJmp < 1 | ColorJmp>Anzahl THEN DO
  49.         Message "'Falsche Eingabe'"
  50.         LEAVE
  51.       END
  52.  
  53.  
  54.  
  55.       BOOLRequest "'Animationsfarben ändern?''Anim: Master''<< von "von" bis "bis" >>'"
  56.       IF RC~=0 | RESULT="NO" THEN LEAVE
  57.  
  58.       RequestStatus OFF
  59.       Pos=0
  60.       ColorJmp=ColorJmp/Anzahl
  61.       DO UNTIL von>bis
  62.         ViewFrame COPS von
  63.         IF RC~=0 THEN LEAVE
  64.  
  65.         IF TRUNC(Pos*ColorJmp) < TRUNC((Pos+1)*ColorJmp) | Pos=0 THEN DO
  66.           Liste=""
  67.           GetColor ChaosListe
  68.           ListeR=RESULT
  69.           DO UNTIL ListeR=""
  70.             PARSE VAR ListeR x r g b ListeR
  71.             IF Art=1 THEN DO
  72.               r=RANDU()*256
  73.               g=RANDU()*256
  74.               b=RANDU()*256
  75.             END
  76.             ELSE IF Art=2 THEN DO
  77.               r=(r+RANDU()*256)/2
  78.               g=(g+RANDU()*256)/2
  79.               b=(b+RANDU()*256)/2
  80.             END
  81.             ELSE IF Art=3 THEN DO
  82.               r=(3*r+RANDU()*256)/4
  83.               g=(3*g+RANDU()*256)/4
  84.               b=(3*b+RANDU()*256)/4
  85.             END
  86.  
  87.             Liste=Liste x TRUNC(r) TRUNC(g) TRUNC(b)
  88.           END
  89.         END
  90.         SetColor Liste
  91.         Record COPS
  92.         IF RC~=0 THEN LEAVE
  93.         von=von+1
  94.         Pos=Pos+1
  95.       END
  96.       RequestStatus ON
  97.  
  98.       LEAVE
  99.     END
  100.   END
  101.   ELSE Message "'Für einen Chaos-Effekt müssen''min. 4 Frames ausgewählt werden.'"
  102.  
  103.   FailAt AltFail
  104. exit
  105.